{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Сведения о передвижениях на счетах криптоаккаунтов резидентов ПВТ с доходами и расходами",
  "description": "Сведения о передвижениях на счетах криптоаккаунтов резидентов ПВТ с доходами и расходами",
  "type": "array",
  "minItems": 1,
  "items": {
    "type": "object",
    "title": "1. Данные резидента ПВТ, представляющего сведения",
    "description": "Данные резидента ПВТ, представляющего сведения",
    "additionalProperties": false,
    "required": [
      "cunp",
      "dtfile",
      "year",
      "accounts"
    ],
    "properties": {
      "cunp": {
        "type": "string",
        "minLength": 9,
        "maxLength": 9,
        "pattern": "^[0-9]{9}$",
        "title": "1.1 Учетный номер плательщика",
        "description": "Количество символов в поле должно быть равно 9. Тип элемента строковый. Заполняется согласно данным Государственного реестра плательщиков (иных обязанных лиц)"
      },
      "dtfile": {
        "type": "string",
        "pattern": "^\\d{2}\\.\\d{2}\\.\\d{4}, \\d{2}:\\d{2}:\\d{2}$",
        "title": "1.2 Дата и время формирования файла",
        "description": "Заполняется в формате ДД.ММ.ГГГГ, ЧЧ:ММ:СС. Пример: 22.06.2026, 00:00:00"
      },
      "year": {
        "type": "string",
        "minLength": 4,
        "maxLength": 4,
        "pattern": "^20[2-9][0-9]$",
        "title": "1.3 Год, за который представляются сведения",
        "description": "Заполняется год в формате ГГГГ. Пример: 2025"
      },
      "accounts": {
        "type": "array",
        "minItems": 1,
        "title": "2. Данные о владельце верифицированного аккаунта",
        "description": "Перечень верифицированных криптоаккаунтов, принадлежащих резиденту ПВТ",
        "items": {
          "type": "object",
          "title": "Данные о владельце верифицированного аккаунта",
          "additionalProperties": false,
          "required": [
            "videntif",
            "vsurname",
            "vname",
            "incomes",
            "outcomes"
          ],
          "properties": {
            "videntif": {
              "type": "string",
              "minLength": 14,
              "maxLength": 14,
              "pattern": "^[1-7]\\d{6}[A-Z][0-9A-Z]{3}[A-Z]{2}\\d$",
              "title": "2.1 Идентификационный номер владельца аккаунта",
              "description": "Количество символов в поле должно быть равно 14. Тип элемента строковый. Заполняется согласно документу, удостоверяющему личность"
            },
            "vsurname": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100,
              "pattern": ".*\\S.*",
              "title": "2.2 Фамилия",
              "description": "Заполняется согласно данным документа, удостоверяющего личность"
            },
            "vname": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100,
              "pattern": ".*\\S.*",
              "title": "2.3 Собственное имя",
              "description": "Заполняется согласно данным документа, удостоверяющего личность"
            },
            "votch": {
              "type": ["string", "null"],
              "maxLength": 100,
              "title": "2.4 Отчество (если таковое имеется)",
              "description": "Заполняется согласно данным документа, удостоверяющего личность"
            },
            "incomes": {
              "type": "array",
              "title": "3. Данные о поступлении белорусских рублей, иностранной валюты, электронных денег в верифицированные аккаунты",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "dtincome",
                  "curincomecode",
                  "sum1"
                ],
                "properties": {
                  "dtincome": {
                    "type": "string",
                    "pattern": "^\\d{2}\\.\\d{2}\\.\\d{4}, \\d{2}:\\d{2}:\\d{2}$",
                    "title": "3.1 Дата и время поступления",
                    "description": "Заполняется в формате ДД.ММ.ГГГГ, ЧЧ:ММ:СС. Пример: 22.06.2025, 12:54:03"
                  },
                  "curincomecode": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "pattern": "^[0-9]{3}$",
                    "title": "3.2 Код валюты поступления",
                    "description": "Трехзначный цифровой код валюты поступления согласно справочнику валют. Пример: 933 (BYN), 840 (USD)"
                  },
                  "sum1": {
                    "type": "number",
                    "minimum": 0,
                    "title": "3.3 Сумма поступления в валюте",
                    "description": "Сумма поступления с точностью до двух знаков после запятой"
                  }
                }
              }
            },
            "outcomes": {
              "type": "array",
              "title": "4. Данные о списании белорусских рублей, иностранной валюты, электронных денег в верифицированные аккаунты",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "dtoutcome",
                  "curoutcomecode",
                  "sum2"
                ],
                "properties": {
                  "dtoutcome": {
                    "type": "string",
                    "pattern": "^\\d{2}\\.\\d{2}\\.\\d{4}, \\d{2}:\\d{2}:\\d{2}$",
                    "title": "4.1 Дата и время списания",
                    "description": "Заполняется в формате ДД.ММ.ГГГГ, ЧЧ:ММ:СС. Пример: 22.06.2025, 13:02:01"
                  },
                  "curoutcomecode": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "pattern": "^[0-9]{3}$",
                    "title": "4.2 Код валюты списания",
                    "description": "Трехзначный цифровой код валюты списания согласно справочнику валют. Пример: 933 (BYN), 840 (USD)"
                  },
                  "sum2": {
                    "type": "number",
                    "minimum": 0,
                    "title": "4.3 Сумма списания в валюте",
                    "description": "Сумма списания с точностью до двух знаков после запятой"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}